Quantitative Analysis of Faults and Failures in a Complex Software System

نویسندگان

  • Norman E. Fenton
  • Niclas Ohlsson
چکیده

The dearth of published empirical data on major industrial systems has been one of the reasons that software engineering has failed to establish a proper scientific basis. In this paper we hope to provide a small contribution to the body of empirical knowledge. We describe a number of results from a quantitative study of faults and failures in two releases of a major commercial system. We tested a range of basic software engineering hypotheses relating to: the Pareto principle of distribution of faults and failures; the use of early fault data to predict later fault and failure data; metrics for fault prediction; and benchmarking fault data. For example, we found strong evidence that a small number of modules contain most of the faults discovered in pre-release testing, and that a very small number of modules contain most of the faults discovered in operation. However, in neither case is this explained by the size or complexity of the modules. We found no evidence to support previous claims relating module size to fault density, nor did we find evidence that popular complexity metrics are good predictors of either fault-prone or failure-prone modules. We confirmed that the number of faults discovered in pre-release testing is an order of magnitude greater than the number discovered in 12 months of operational use. We also discovered fairly stable numbers of faults discovered at corresponding testing phases. Our most surprising and important result was strong evidence of a counter-intuitive relationship between pre and post release faults: those modules which are the most fault-prone pre-release are among the least faultprone post-release, while conversely the modules which are most fault-prone post release are among the least fault-prone pre-release. This observation has serious ramifications for the commonly used fault density measure. Not only is it misleading to use it as a surrogate quality measure, but its previous extensive use in metrics studies is shown to be flawed. Our results provide data-points in building up an empirical picture of the software development process. However, even the strong results we have observed are not generally valid as software engineering laws because they fail to take account of basic explanatory data, notably testing effort and operational usage. After all, a module which has not been tested or used will reveal no faults irrespective of its size, complexity, or any other factor.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Qualitative and quantitative approaches to analyse reliability of a mechatronic system: a case

The main research intent of this paper is to introduce the use of fault tree analysis (FTA) and failure mode and effects analysis (FMEA) in conjunction to analyse the risk and reliability of a complex mechatronic system in both qualitative and quantitative manner. The major focus is on handling imprecise and vague information with the help of fuzzy synthesis of information. A complex mechatroni...

متن کامل

Lessons from 342 Medical Device Failures

Most complex systems today contain software, and systems failures activated by software faults can provide lessons for software development practices and software quality assurance. This paper presents an analysis of softwarerelated failures of medical devices that caused no death or injury but led to recalls by the manufacturers. The analysis categorizes the failures by their symptoms and faul...

متن کامل

Requirements Engineering Model in Designing Complex Systems

This research tends to development of the requirements elicitation methodology with regard to operational nature and hierarchical analysis for complex systems and also, regarding available technologies. This methodology applies Analytic Hierarchy Process (AHP) and Analytic Network Process (ANP) to ensure traceability of planned qualitative and quantitative data from requirements to available te...

متن کامل

Requirements Engineering Model in Designing Complex Systems

This research tends to development of the requirements elicitation methodology with regard to operational nature and hierarchical analysis for complex systems and also, regarding available technologies. This methodology applies Analytic Hierarchy Process (AHP) and Analytic Network Process (ANP) to ensure traceability of planned qualitative and quantitative data from requirements to available te...

متن کامل

Online Fault Detection and Isolation Method Based on Belief Rule Base for Industrial Gas Turbines

Real time and accurate fault detection has attracted an increasing attention with a growing demand for higher operational efficiency and safety of industrial gas turbines as complex engineering systems. Current methods based on condition monitoring data have drawbacks in using both expert knowledge and quantitative information for detecting faults. On account of this reason, this paper proposes...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • IEEE Trans. Software Eng.

دوره 26  شماره 

صفحات  -

تاریخ انتشار 2000